This invention relates to a method and apparatus for the creation of a model for use in model-based testing. In particular this relates to a method and apparatus for testing of a graphical user interface model using model-based testing.
An important aspect of designing an advanced computer software system is the ability to thoroughly test its implementation in order to assure that the Implementation complies with desired specifications. Usually, such verification requires the generation of test programs to verify that the system under test (SUT) behaves properly under a wide variety of circumstances.
Traditional software testing involves study of the SUT by the tester, who then writes and executes individual test scenarios that exercise the SUT. Testing may require validation of many functional levels, which substantially increases the complexity of the task. In the past, test scenarios were manually generated, but now this task is sometimes automated, using computer implemented test program generators.
Test program generators are sophisticated software engines that are used to create numerous test cases. By appropriate configuration, it is possible for test program generation either to be focused on very specific ranges of conditions, or to be broadened to cover a wide range of logic. Today, large numbers of test cases can be created in the time that a single test case could be written manually.
In the 1990s, model-based test program generators became popular in processor architectural design verification and software testing. Model-based test generation involves the generation of a suite of tests from a model under test (MUT). The MUT is derived from a specification of the SUT but not from the SUT itself. In many model-based testing situations, the behavior models are described by finite state machines (FSM). Such FSMs describe the possible states of the application and the transitions from state to state caused by operations or stimuli. Test programs generated from a MUT can cover different operation invocation patterns according to the testing goals.
One of the first model generators was the GOTCHA-TCBeans Software Test Tool Kit, developed by International Business Machines Corporation (IBM), New Orchard Road, Armonk, N.Y. 10504. This tool provides a framework designed to assist testers in developing, executing and organizing function tests directed against Application Program Interfaces (APIS) and software protocols written in Java™, C or C++. Another tool used for model-based testing and model creation is IBM Rational Functional Tester.
Model-based testing of a SUT graphical user interface (GUI) focuses on exercising user controls in a GUI and the GUI produces messages to confirm success or indicate errors. These messages are: extensive; numerous; and prone to change during development of the SUT. Finding instances of all the messages in all GUI pages can be expensive and time consuming because of the sheer number of the messages. There may be hundreds of pages in a GUI and tens of possible messages per page, requiring many combinations of data and operations to elicit them. Often GUI messages are described during the last part of the development process and are continually updated during testing. A complete model of the SUT GUI would need constant updating and therefore it has been impractical to build and maintain such a model up till now.